package com.cgt.xiaotao.product.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.cgt.xiaotao.product.domain.dto.PageDTO;
import com.cgt.xiaotao.product.domain.dto.ProductAdminDTO;
import com.cgt.xiaotao.product.domain.po.Product;
import com.cgt.common.domain.query.PageQuery;
import com.cgt.xiaotao.product.domain.query.ProductPageQuery;
import com.cgt.xiaotao.product.domain.vo.ProductListVO;


public interface IProductService extends IService<Product> {

    /**
     * 分页查询商品列表(标签条件查询)
     * @param query
     * @return
     */
    PageDTO<ProductListVO> getPage(ProductPageQuery query);

    /**
     * 分页查询商品列表(标签条件查询)
     * @param pageNo 当前页
     * @param pageSize 每页记录数
     * @param sortBy 排序字段
     * @param isAsc 是否升序
     * @return 分页结果数据
     */
    PageDTO<ProductAdminDTO> selectAdminPage(Integer pageNo, Integer pageSize, String sortBy, boolean isAsc);

    /**
     * 商品搜索
     * @param query 查询参数
     * @return 商品列表
     */
    PageDTO<ProductAdminDTO> searchProduct(ProductPageQuery query);
}
